I Deleted My Entire Personal Knowledge Management System, and Replaced It With One Habit From Software Engineers | Liam Weathers
- [/] note forgetting: I Deleted My Entire Personal Knowledge Management System, and Replaced It With One Habit From Software Engineers | Liam Weathers •workings.co
- I like the idea of building in 'death' to notes.
- I could leave 'deprecated notes' somewhere that I don't generally search, or clearly not important anymore: could be the topmost task or adding a special character to the filename telling auto note mover to sweep away: could be a parallel folder to the vault. So a file
2023-06-01 <title>could become≠2023-06-01 <title>and a no-longer relevant concept becomes≠+<concept>and archived inforgotten?
body

Image shows a cluttered digital desktop full of overlapping note windows and sticky notes, transitioning on the right side into a clean, minimal code editor with a single organized file structure. Generated by Midjourney
So here’s a confession: I once spent an entire Sunday building the “perfect” note structure. Nested folders, color-coded tags, a tagging taxonomy with actual sub-taxonomies. By Wednesday I couldn’t find a single thing in it. By the following Monday, I’d quietly gone back to Googling things I already knew.
Sound familiar?
Here’s the part that took me embarrassingly long to figure out: the problem was never the folders. The problem was that I was treating my notes like artifacts, permanent, finished, true the day I wrote them and true forever after. Which is exactly how nobody who actually builds systems for a living thinks about information.
Ask any software engineer what happens to code the moment it’s written, and they’ll laugh at you. Code isn’t finished when it’s written. It’s staged. It gets reviewed, tested, revised, merged, and eventually, this is the part knowledge workers never do, deprecated. Old code doesn’t sit in the repository forever just because someone once thought it mattered. It gets flagged, replaced, and deleted. On purpose. As a feature, not a failure.
Your notes app has never done that for you. And that, I’d argue, is the actual root of why most personal knowledge management systems quietly rot.
Your Notes Aren’t Wrong. They’re Just Out of Date
Here’s an uncomfortable idea: most of what’s sitting in your “second brain” right now isn’t false. It’s stale. You wrote it when it was true, useful, or interesting, and it has simply never been asked to prove that it still is.
A note about “the best CRM for a five-person team” written in 2022 isn’t wrong, exactly. It’s just talking about a version of the world that doesn’t exist anymore. A note titled “career goals” from three years ago isn’t false. It just belongs to a person you used to be. And yet there it sits, indexed and tagged and searchable, quietly polluting every future search you run with information that’s technically retrievable and functionally useless.
Libraries don’t have this problem, because nobody expects a library to be current. A library is an archive of what was once true, and everyone reading it applies the appropriate skepticism. But a personal knowledge system isn’t supposed to be a museum. It’s supposed to be something you trust enough to act on at 11pm without double-checking it. And you can’t trust a system that never tells you what’s still alive and what quietly died two years ago.
This is the piece almost every PKM guide skips. They’ll tell you how to capture. They’ll tell you how to file. Almost none of them will tell you how to let something die.

A library preserves what was once true. On the other hand, a living system tells you what still is
What Engineers Figured Out That We Didn’t
Software teams solved a version of this problem decades ago, because they had no choice, a codebase with no discipline about staleness simply stops working. Three habits, in particular, are worth stealing wholesale:
- Nothing ships straight to production. New code lands in a draft branch first. It’s reviewed, tested, and only merged into the main system once it’s proven itself. Most of us do the opposite with notes: the instant we save something, it’s already “in,” fully indexed and mixed in with everything else we’ve ever trusted.
- Every change has a reason attached. A commit message isn’t just “updated file.” It says why, what problem this change solves, what it replaces. Compare that to the average note, saved with zero context about why it seemed worth keeping in the first place.
- Deprecation is a normal, celebrated event. Old code doesn’t get deleted out of shame. It gets deprecated deliberately, often with a note explaining what replaced it. Nobody feels guilty about it. It’s just maintenance.
None of this requires you to learn Git. It requires you to steal the posture, treat your knowledge base as something that’s actively maintained, not something that just accumulates.
SHIP | The Framework
If PARA is about where information lives and SEED is about what you do the moment it arrives, this next one is about the part nobody talks about: what happens to a note after the first week. Call it SHIP.
- S = Stage. New information doesn’t go straight into your main system. It lands in a holding area first, a single inbox, untouched by tags or folders. Nothing gets full trust on day one.
- H = Handle it fast. Give every staged note a 48-hour window. In that window, either use it for something real, or it doesn’t graduate. Most notes fail this test, and that’s the point. A note that can’t justify itself in 48 hours was never going to justify itself in 48 weeks either.
- I = Integrate, with a reason attached. The notes that do graduate get merged into your main system, but never silently. Each one gets a one-line “commit message”: why this mattered, what it connects to, what problem it solves. This single habit does more for future retrieval than any tagging system ever will.
- P = Prune, on a schedule. Once a quarter, you don’t review everything, that’s how review sessions die. You review only your oldest, most-linked notes and ask one blunt question: is this still true? If not, it gets deprecated, not deleted outright, moved to a clearly labeled “retired” space, the same way old code gets archived instead of erased. You keep the history. You just stop letting it clutter the present.
That’s it. Four steps, and the entire system is built around one unglamorous idea: a knowledge base that never lets anything die eventually can’t tell the living from the dead.

The SHIP framework: four stages that keep a knowledge base alive instead of just full
What This Actually Looks Like
In practice, this is less about switching software and more about changing what “saving” means. A few small structural moves make SHIP work in almost any tool you already use:
Give your staging area a hard visual boundary. One inbox note, or one untitled folder, that you’re not allowed to search from directly. If you can find something by digging through the inbox, you’ll never bother promoting it properly, and half-promoted notes are exactly the clutter that kills a system.
Write the “why,” not the “what.” Most note-taking apps let you add a one-line description or a comment when you file something. Use it like a commit message, not a title. “Filed under marketing” tells future-you nothing. “Used this for the Q3 pitch, the framing on scarcity worked better than the discount angle” tells future-you everything.
Make deprecation visible, not invisible. A note tagged #retired or moved into an Archive, Superseded space is doing real work: it's telling your future self "this used to be true, don't act on it blindly." A note that's just quietly wrong, sitting unlabeled next to your current thinking, is the thing that actually erodes trust in the whole system.
Version, don’t overwrite. When a belief changes, about a tool, a strategy, a person, a plan, don’t just edit the old note into agreeing with your new opinion. Add a dated addendum instead: “Update, March: no longer think this is true, here’s why.” That trail is often more valuable than the original note. It’s the only place where you can actually watch your own thinking change.
Tools like Obsidian and Logseq already support most of this natively, since both are just local files and can be version-controlled the literal way, through Git, if you want to go all the way. Notion’s built-in page history quietly does the same job without you noticing. Even a plain folder with dated filenames gets you 80% of the benefit. The tool genuinely doesn’t matter here nearly as much as the habit does.

A one-line “commit message” attached to a note, the small habit that makes old notes findable again
The Part That Feels Wrong But Isn’t
The instinct that fights hardest against all of this is the fear of losing something important. What if you deprecate a note and need it later? What if the “stale” idea turns out to be the one that mattered?
Two things fix that fear. First, deprecated is not deleted, it’s demoted, clearly labeled, and one search away. Nothing is actually gone. Second, and more importantly: a system that keeps everything at full trust forever isn’t protecting your good ideas. It’s burying them under the noise of every mediocre one you’ve ever had. Deprecation isn’t about losing information. It’s about being honest, in real time, about which parts of your system you’d actually still bet on.
The uncomfortable truth about personal knowledge management, again, the same one every honest guide eventually lands on: the goal was never to remember more. It was to trust what you already have enough to actually use it. A pile of untouched, unexamined notes doesn’t do that, no matter how elegantly it’s filed. A system that’s constantly being reviewed, dated, and quietly retired earns your trust the same way a well-maintained codebase earns a team’s trust, not because it never changes, but because everyone in it agrees on what’s current.
The 20-Minute Version
You don’t need to rebuild anything to test this. Just try it on whatever you save in the next week:
First, create one staging space, a single inbox, nothing else, and force everything new through it before it touches your main system.
Then, attach one honest sentence to anything you promote out of staging: why it mattered, what it’s for. If you can’t write that sentence, it isn’t ready to graduate yet.
Finally, pick one date, a month out, and put it on your calendar as “Prune day.” When it arrives, open your ten most-linked notes and ask, one at a time: still true? If not, label it, move it, and let it rest.
That’s the whole thing. No new app, no weekend rebuild. Just the same posture every good engineer already has toward their own code: nothing ships untested, nothing stays forever just because it once mattered, and the system stays trustworthy precisely because it’s allowed to change its mind.